Gli strumenti che Φ possibile utilizzare per verificare il codice e apporvi la firma sono MakeCert, Cert2SPC e SignCode. Tali strumenti sono disponibili nella cartella \Programmi\IEAK\Reskit\Tools del Resource Kit di IEAK. Ulteriori risorse vengono fornite anche con l'SDK del client Internet.
Utilizzare questo programma di verifica per generare un certificato X.509. MakeCert esegue le seguenti operazioni:
La sintassi di MakeCert Φ la seguente:
MakeCert [opzioni di base | opzioni avanzate] fileDiOutput
In MakeCert sono disponibili alcune opzioni di base e alcune opzioni avanzate. Le opzioni di base sono quelle pi∙ comunemente utilizzate per creare un certificato, le opzioni avanzate consentono invece una maggiore flessibilitα. Le opzioni di MakeCert si suddividono inoltre in tre gruppi in base al settore di applicazione:
Le opzioni del secondo e del terzo gruppo non possono essere utilizzate in combinazione, ad eccezione dell'opzione –ic.
Gli esempi riportati di seguito illustrano come creare dei certificati con MakeCert utilizzando le opzioni di Internet Explorer 4.0.
Esempio 1
In questo esempio viene mostrato come generare un certificato rilasciato dalla fonte predefinita e salvarlo in un file.
MakeCert mioNuovo.cer
Esempio 2
In questo esempio viene mostrato come generare un certificato rilasciato dalla fonte predefinita e salvarlo in un archivio.
MakeCert -ss mioNuovoArchivio
Esempio 3
In questo esempio viene mostrato come generare un certificato rilasciato dalla fonte predefinita, creare un file .pvk e salvare il certificato sia in un file che in un archivio.
MakeCert -sv mioNuovo.pvk -ss mioNuovoArchivio mioNuovo.cer
Esempio 4
In questo esempio viene mostrato come generare un certificato rilasciato dalla fonte principale, creare un contenitore di chiavi e salvare il certificato sia in un file che in un archivio.
MakeCert -sk miaNuovaChiave -ss mioNuovoArchivio mioNuovo.cer
Esempio 5
In questo esempio viene mostrato come generare un certificato utilizzando la fonte principale e salvarlo in un archivio. Nella seconda parte viene mostrato come creare un ulteriore certificato utilizzando quello appena generato e salvarlo in un archivio diverso dal primo.
MakeCert -sk miaNuovaChiave -ss mioNuovoArchivio MakeCert -is mioNuovoArchivio -ss altroArchivio
Esempio 6
In questo esempio viene mostrato come generare un certificato utilizzando la fonte principale e salvarlo nell'archivio personale. Nella seconda parte viene mostrato come creare un ulteriore certificato utilizzando quello appena generato e identificando il primo certificato con il nome comune poichΘ l'archivio personale contiene pi∙ certificati.
MakeCert -sk miaNuovaChiave -n "CN=XXZZYY" -ss personale MakeCert -is personale -in "XXZZYY" -ss altroArchivio
Esempio 7
In questo esempio viene mostrato come generare un certificato utilizzando la fonte predefinita e salvarlo sia nell'archivio personale che in un file. Nella seconda parte viene mostrato come creare un ulteriore certificato utilizzando il certificato mioNuovo appena generato e identificando il primo con il nome di file poichΘ l'archivio personale contiene pi∙ certificati.
MakeCert -sk miaNuovaChiave -n "CN=XXZZYY" -ss personale mioNuovo.cer MakeCert -is personale -ic mioNuovo.cer -ss altroArchivio
Esempio 8
In questo esempio viene mostrato come generare un certificato con firma automatica denominato miaNuovaFonte utilizzando la fonte predefinita. Nella seconda parte viene mostrato come utilizzare SignCode con il certificato per apporre la firma a un file.
MakeCert -sk miaNuovaChiaveFonte -r -ss miaNuovaFonte SignCode -s miaNuovaFonte mioControllo.exe
Esempio 9
In questo esempio viene mostrato come generare un certificato con firma automatica denominato miaNuovaFonte utilizzando la fonte predefinita. Nella seconda e nella terza parte viene mostrato come salvare miaNuovaFonte in un archivio di certificati del sistema ac, creare un certificato da miaNuovaFonte e apporre la firma a del codice utilizzando il certificato.
Quando SignCode utilizza un certificato memorizzato in un archivio per apporre la firma, viene generata automaticamente anche una catena di verifiche dal certificato di autenticazione a una fonte. Tutti i certificati coinvolti nella catena di verifiche devono essere presenti in uno qualsiasi degli archivi personale, ac, spc o fonte. In questo esempio miaNuovaFonte si trova nell'archivio ac.
MakeCert -sk miaNuovaChiaveFonte -r -ss ca miaNuovaFonte.cer MakeCert -is ca -ic miaNuovaFonte.cer -ss miaNuovaFirma SignCode -s miaNuovaFirma mioControllo.exe
Dopo aver generato un certificato, Φ possibile utilizzare il programma Cert2SPC per creare un certificato SPC (Software Publisher Certificate). Questo programma riunisce pi∙ certificati X.509 in un oggetto dati firmati PKCS #7. Si noti che questo programma Φ utilizzabile solo a scopo di verifica. Per ottenere un certificato SPC valido occorre rivolgersi a un'Autoritα di certificazione.
La sintassi di Cert2SPC Φ la seguente:
Cert2SPC cert1.cer cert2.cer. . .certN.cer output.spc
dove:
Di seguito Φ riportato un esempio.
Cert2SPC MioCert.cer MioCert.spc
In questo modo si inserisce un certificato X.509, ovvero MioCert.cer, nell'SPC PKCS #7 denominato MioCert.spc.
L'ultimo passaggio della procedura consiste nell'apporre effettivamente la firma al file utilizzando SignCode. Questo programma esegue le seguenti operazioni:
La sintassi di SignCode Φ la seguente:
SignCode [opzioni] [nomeFile]
dove:
Le opzioni disponibili in SignCode si suddividono in tre gruppi:
Le opzioni del secondo e del terzo gruppo non possono essere utilizzate in combinazione durante una stessa operazione.
Una volta apposta la firma, supposto di disporre di un certificato valido, e specificate la data e l'ora, il file pu≥ essere distribuito agli utenti. Si noti che i certificati generati con i programmi di verifica MakeCert e Cert2SPC non sono validi per la firma di codice che verrα distribuito pubblicamente. Per tale scopo i produttori di software devono ottenere un certificato da GTE, VeriSign, Inc. o un'altra Autoritα di certificazione.